package cn.amossun.starter.event.common;

import org.springframework.amqp.core.MessageProperties;

public interface Constants {

     String CONTENT_TYPE_JSON = MessageProperties.CONTENT_TYPE_JSON;

     String DEFAULT_CHARSET = "UTF-8";

     String POINT = ".";

     String ROUTING_KEY_SUFFIX = "#";

     String TEMPLATE = "%s";

     String EVENT = "event";

     String EXCHANGE = "exchange";

     String DIRECT = "direct";

     String HEADER = "header";

     String TOPIC = "topic";

     String FANOUT = "fanout";

     String ROUTING_KEY = "routingKey";

     String DEAD = "dead";

     String QUEUE_NAME_TEMPLATE = TEMPLATE + POINT + TEMPLATE;

     String ROUTING_KEY_TEMPLATE = TEMPLATE + POINT + TEMPLATE;

     String BINDING_KEY_TEMPLATE = TEMPLATE + POINT + TEMPLATE;

     String QUEUE_UNIQUE_TEMPLATE = TEMPLATE + "_" + TEMPLATE;

     String EVENT_DIRECT_EXCHANGE = EVENT + POINT + DIRECT + POINT + EXCHANGE;

     String EVENT_TOPIC_EXCHANGE = EVENT + POINT + TOPIC + POINT + EXCHANGE;

     String EVENT_HEADER_EXCHANGE = EVENT + POINT + HEADER + POINT + EXCHANGE;

     String EVENT_FANOUT_EXCHANGE = EVENT + POINT + FANOUT + POINT + EXCHANGE;

     String EVENT_DEAD_EXCHANGE = EVENT + POINT + DEAD + POINT + EXCHANGE;

     String EVENT_DEAD_ROUTING_KEY = EVENT + POINT + DEAD + POINT + TOPIC + POINT + ROUTING_KEY_SUFFIX;

     String EVENT_ROUTING_KEY = EVENT + POINT + ROUTING_KEY;
}
